WHATSNEW.TXT Copyright (c) 1995,96 xTech Ltd ---------------------------------------------------------------- Native XDS-x86 OS/2 Edition --------------------------- v2.17 (pre-release) Fixes And New Features Version 2.17 ------------ This version is the last freely available before commercial release. The following changes were made since previous releases (2.10 and 2.12): Compiler: A number of bugs fixed SYM-FILE VERSION CHANGED - RECOMPILATION IS NECESSARY Pentium instruction scheduling implemented A number of floating-point optimizations introduced Integer division by constant is now replaced with multiplication Long file names support (see the FATFS option) xc =m now calls linker if is a Modula-2 program module or an Oberon-2 main module (option MAIN is on) The SYSTEM.REF procedure was added (the same as ADR, but returns typized pointer. Compatibility rules for foreign procedures are relaxed further (see User's Guide->Multilanluage Programming->Relaxation of compatibility rules). Much more efficient (but still not ideal) code is generated for aggregate constants. Equations and environment variables may be used in redirections: *.sym = $(XDSDIR)/sym Separate exception source for ASSERT added Compiler sets new equations: MODULE (name of the current module) FILE (name of the current file) Compiler exit code is now either 0 (ok) or 1 (error). SYSTEM.FILL is added () is now equivalent to SYSTEM.CAST(,) VIO option introduced in xc.cfg BOOLEAN, SYSTEM.BOOL8 and SYSTEM.BOOL32 are much more compatible SYSTEM.M2ADR is available from Oberon-2 CODENAME and DATANAME equations for segment names CPU486 is replaced with CPU and MINCPU It is now possible to declare/set equations in source text ALIGNMENT is an inlineable equation now DEF option is renamed to CHANGESYM to avoid conflicts Library: Some bugs fixed Added module Printf ISO modules LowReal, LowLong are implemented ProgEnv.String and ProgEnv.StringLength are implemented TopSpeed-like library is partially implemented IDE: Plenty of bugs fixed New concepts introduced: tools, workplaces, and stylesheets. Refer to the on-line help for more information. A number of text editing features introduced (see Keys Help). A number of menu commands introduced (press F1 on menu items). Files are opened using redirections and lookups if typed without path IDE maintains a list of source files which are either specified by user or received from the compiler. Project file editor: a number of bug fixes user options/equations lookups OS2.DEF: Some bugs fixed Formatting slightly improved Some pointer type parameters changed to VAR-parameters and arrays according to an API call semantics. Some negative constants replaced with large positive Doc: ISO Modula-2 Library Reference added ISO Modula-2 Lexis and Syntax added RegComp.Substitute description is corrected Samples: The PMHello sample removed New samples: LinPack benchmark FindProc IDE tool Mandelbrodt Set Explorer for PM Version 2.10 ------------ This is the first product version of Native XDS for OS/2. After more then half a year of extensive testing we are happy to announce this product. For the users of XDS v2.06 we list the differences between v2.06 and v2.10. Note: there are no product versions such as v2.07, v2.08, v2.09. The version v2.07 was used internally and distributed as beta and demo version. What is new in v2.10: 1) Extended syntax of conditional expressions, e.g: <* IF defined cc & (cc = Watcom) THEN *> See "Configuring XDS" and "Conditional compilation". 2) Relaxed compatibility rules are introduced for parameters of "C" procedures. See "Multilanguage programming". 3) String literal may be used in a direct language specification instead of numeric values: "Oberon" = 0 "Modula" = 1 "C" = 2 "Pascal" = 5 "StdCall" = 7 (Win32 standard calling convention) "SysCall" = 8 (OS/2 system calls) 4) new equations COMPILERHEAP - defines compiler heap limit COMPILERTHRES - defines compiler threshold 5) New clause in the ERRFMT equation - errno (error number). 6) new option M2UNPACKTYPES - for Windows interface 7) new ALIGNMENET option 8) equation declaration syntax is introduced: -xxx!value 9) Make does not use dependency on a project file. 10) New directives may be used in configuration, redirection project and template files: !if expr then !elsif expr then !else !end !message expr expr = simple [ ("=" | "#" | "<" | ">") simple ] simple = term { "+" | "OR" term } term = factor { "AND" factor } factor = "(" expr ")"| quoted_string | "NOT" factor | "DEFINED" ident | ident ident = option | equation 11) In all system files: \ at the end of line - line continuation. $! - denotes the directory name of this file: *.sym = $!/sym; 12) new template syntax (See "Template files"). [end of document]